<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        .v-enter,.v-leave-to{
            transform: translateX(100px);
            opacity: 0;
        }
        .v-enter-active,.v-leave-active{
            transition:all 1s ease;
        }
    </style>
</head>
<script src="vue.js"></script>
<body>
    <div id="app">
        <a href="#" @click.prevent="comName='logincom'">登录</a>
        <a href="#" @click.prevent="comName='register'">注册</a>
        <!-- <login v-if="flag"></login>
        <register v-else></register> -->

        <transition mode="out-in">
        <component :is="comName"></component> 
        <!-- component标签就是一个占位符，它用来在这里渲染一个具体的组件 -->
        </transition>

    </div>

    <template id="login"> 
        <div>
            用户名： <input type="text"><br>
            密码：   <input type="text"><br>
            <input type="button" value="登录">
        </div>
    </template>
    
    <template id="register">
        <div>
            用户名： <input type="text"><br>
            密码：  <input type="text"><br>
            确认密码： <input type="text"><br>
            验证码： <input type="text"><br>
            <input type="button" value="注册">
        </div>
    </template>

    <script>
        var vm = new Vue({
            el:'#app',
            data:{
                flag:true,
                comName:'logincom',
            },
            components:{
                logincom:{
                    template:'#login',
                },
                register:{
                    template:'#register',
                }
            }
        })
    </script>
</body>
</html>